/*
 * MapObject.h
 *
 *  Created on: 25 Oct 2013
 *      Author: Patrick
 */

#ifndef MAPOBJECT_H_
#define MAPOBJECT_H_

#include <string>

#include <OgreVector3.h>

namespace Engine {

class MapObject {
public:
	MapObject(std::vector<Ogre::Vector3> pointList, bool closed);
	virtual ~MapObject();

	Ogre::ManualObject* getRenderObject(Ogre::SceneManager* sceneMgr, Ogre::ColourValue colour);

private:
	void drawRenderObject(Ogre::SceneManager* sceneMgr, Ogre::ColourValue colour);

	Ogre::Vector3 getPoint(int i);
	Ogre::Vector3 getTangent(int i);

	std::vector<Ogre::Vector3> points;
	std::vector<Ogre::Vector3> tangents;

	Ogre::ManualObject* renderObject;
};

} /* namespace Engine */

#endif /* MAPOBJECT_H_ */
